The present invention relates to a system relates to a system for determining a data unifying procedure for joining, processing and unifying data obtained from various information sources, and to an applicable system for determining a manufacturing procedure of articles.
The manufacturing procedure and data unifying procedures attempted to be determined by the present invention are, in the prior art, composed of four processes below.
Supply Process:
Parts are supplied. The supply process outputs one or more parts formed into one set. FIG. 32 shows supply process S for outputting three parts $A, $B and $C as one set.
Joining process:
Parts in two sets supplied to the joining process as an input are outputted as parts in one set, or parts supplied to the joining process as an input are outputted as parts in one deconstructed set. However, there is also a case where the part which is input to this process forms a set with one or more parts which do not relate to the joining process. In this case, parts are output including the parts which do not relate this process and they are formed into one set. FIG. 33A shows joining process J in which two sets of parts are input such that parts $C and $D formed into one set and parts $E formed into one set are input. Then, the parts in the two sets are joined into one set and then output. FIG. 33B shows joining process J in which parts $C and $E forming one set are input. Then, the parts are deconstructed and output. However, in a process shown in FIG. 33A, for example, a part (for example, $E) which is input to this process J has been formed into a set with another part (for example, $F). In the foregoing case, this process outputs four parts $C, $D, $E and $F forming one set.
Processing Process:
One or more parts which are supplied to this process as an input and which form one set are processed. The parts which are input for processing, must be formed into one set in the pervious joining process before the parts are input for processing. The input parts are processed so that a new part is made. An output is composed of all of the input parts and one or more parts which have been newly made. However, there is also a case where the part which is input to this Process has been formed into a set with one or more parts which do not relate to this process. In this case, parts, including the parts which do not relate to this process, are output and formed into one set. FIG. 34 shows, a joining process Column in which two parts $G and $H forming one set are input, and then processed so that two parts $I and $J are made and parts $G, $H, $I and $J forming one set are output. However, in the process shown in FIG. 34 for example, the parts $G and $H, which are input to this process C, have been formed into a set-with another part (for example, $B). In the foregoing case, this process outputs five parts $B, $G, $H, $I and $J forming one set.
End Process:
The end process is a process to which one or more parts that are integrally formed are input. FIG. 35 shows a state where integrated parts $L and $M are input to the end process V. In general, a new part is made in the step of processing in accordance with the part supplied from the supply process, a plurality of parts are integrated in the joining process, and then the integrated parts are finally input to the end process. Thus, the manufacturing process is ended.
When the above-mentioned manufacturing procedure is applied to a data unifying procedure, the supply process, the joining process, the processing process and the end process are specifically performed as follows.
Supply Process:
Data is acquired from an information source, and then converted into one table of a relational data base. At this time, each column of the table corresponds to the part. The respective columns of the table, which are parts, are formed into a set so that a table is formed and the table is output. FIG. 36 is a diagram showing an example of a table for determining a conventional data unifying procedure. The table includes three columns standing for names, numbers and sexes. The contents of the foregoing table are three rows. Each row indicates one entity. For example, the first row expresses an entity of a "Human Being" indicated such that "Name" is "Taro Yamada", "Number" is "13" and "Sex" is "Man".
Joining process:
Two tables supplied as an input are joined, and outputted as one table, or rows are selected from one table supplied to this process as an input in accordance with instructed conditions, and a table composed of only the selected rows is output. FIG. 37 is a diagram showing an example of a table relating to the table shown in FIG. 36. When the table shown in FIG. 36 and that shown in FIG. 37 are subjected to a comparison, a fact can be understood from FIG. 37 that the "Number" of "Taro Yamada" is "13". A fact can be understood from FIG. 37 that the "Position" of a stuff, the "Number" of which is "13" is "Chief". Thus, the table shown in FIG. 36 arid that shown in FIG. 37 can be joined in terms of the "Number". The thus-produced table is shown in FIG. 38. FIG. 38 shows a table in which the parts "Name", "Number" and "Sex" on three columns shown in FIG. 36 and parts on columns "Number" and "Position" shown in FIG. 37 are joined to-be one set .about.e that the table shown in FIG. 38 is formed. In the joining-process, the table formed by joining as shown in FIG. 38 is output. Alternatively, in the joining process, a row is selected from the table shown in FIG. 36 in accordance with a condition that the "Sex" is man and a table composed of only the selected rows and shown in FIG. 39 is output.
Processing Process:
The contents of one or more columns are changed for each row of the table formed by producing one or more columns supplied as an input into one set are converted to make one or more columns. Then, the results of the conversion are made to be the contents of the produced column. For example, each row of the table shown in FIG. 36 is processed such that the contents of the column of the "Name" are divided into family name and personal name so that two columns which are "Family Name" and "Personal Name" are produced. The results of the conversion are employed as the contents of the columns "Family Name" and "Personal Name". As a result, a table shown in FIG. 40 is produced.
End Process:
Tables acquired from the information sources corresponding to the supply process are joined or processed so `that one final table is obtained which is then input so as to be converted into another data format or displayed or transferred to another application program. End processes shown in FIG. 41 are assumed to be given. Examples of information sources for supplying data which is obtained by supply processes S1, S2, S3, S4 and S5 respectively are shown in FIGS. 42, 43, 44, 45 and 46. Note that the first row of each table indicate the item of each column and contents in parentheses indicate variables to which the items correspond.
An assumption is made that acquisition of information, of an event, the "Day" of which is June and "Coefficient of Number of Audience" is 0.5 or larger is instructed. Then, in node S1 columns including a character string "June" are extracted from the table shown in FIG. 42 that a table shown in FIG. 47 is output. On the other hand, in node S2 the table shown in FIG. 43 is as it is output. In node J1 rows containing the same year are formed into sets from the tables shown in FIGS. 47 and 43 that a table shown in FIG. 48 is output. In node S3 the table shown in FIG. 44 is as it is output. In node J2 columns of "Place" and "Institution" on the tables shown in FIGS. 48 and 44 to a comparison to form the rows containing the same place into sets so that a table shown in FIG. 49 is output. In node C1 a new column of the table shown in FIG. 49 which is input is produced. "Day" and "Institution" are, for each row, converted into the row of "Weather" by making a reference to data in node C1 so that a table shown in FIG. 50 is output. On the other hand, in node S4 rows in which the "Coefficient of Number of Audience" is 0.5 or larger are extracted from the table shown in FIG. 45 the table shown in FIG. 51 is output. In node C2 a new column shown in FIG. 45 which must be input is produced. Then, a reference is, for each row, made to data in node C2 from "Sunshine of Duration" and "Coefficient of Number of Audience" to be converted into rows of "Weather" and "Correction of Sales" so that a table shown in FIG. 52 is output. In node J3 rows of "Weather" and "Atmospheric Condition" are subjected to a comparison to form corresponding rows into a set so that a table shown in FIG. 53 is produced and output. In node S5 a table shown in FIG. 46 is as it is output. In node J4 rows of "Correction of Sales" and "Correction of Profit" are subjected to a comparison from the tables shown in FIGS. 53 and 46 that rows of the contents of "Correction of Sales" and the contents "Correction of Profit" having the same contents in the parenthesis are formed into a set. Thus, a table shown in FIG. 54 is produced and output. In node V1 the table shown in FIG. 54 is input and a process for displaying the table on the display is started.
FIG. 43 shows an example of element processes required to manufacture a certain product. An example of a process expression tree produced from the element processes is shown in FIG. 7. FIG. 7 shows an example in which parts $A output from supply process S1 and formed into one set-and parts $B output from supply process S2 and formed--into one set are input to joining process J1 so as to be joined. The parts $A and $B joined and formed into one set-are output. The output and parts $C and $D output from supply process S3 and formed into one set are input to joining process J2. The parts are input to joining process J2 so--as to be joined, and then parts $A, $B, $C and $D joined and formed into one set are output. As described above, the process expression tree is formed into a tree structure having the element processes as nodes and the nodes are connected to one another with oriented branches which are arrows having directions so that the processing order of the element processes are expressed. When the process expression tree is given, the process is started at the supply node and the condition that only the node to which arrival is permitted in the inverse direction of the input oriented branch and the process of which has been completed is satisfied to execute the process at an arbitrary node satisfying the condition. For example, the execution order can be determined in accordance with the following algorithm. The process is started at the end node, and the following process is performed for each node. That is, when arrival is made to a certain node, oriented branches input to the node are selected in an arbitrary order and the process of the node outputting the oriented branch is performed. When process of the nodes outputting all of the input oriented branches are completed, the process of the node is performed and the process of the node to which the oriented branch output from the node is continued. When the end process is ended as described above, all of the processes are ended.
Nodes of the process expression tree has various relationship of dependency. In an example case shown in FIG. 7, the--processing process C1 requires $A and $D as inputs, as shown in FIG. 41. $A can be obtained as an output from S1, while $D can be obtained as an output from S3. Therefore, $A and $D must be joined before the processing process C1 is performed. $A is joined with $B in the joining process J1, while $B is joined with $D in the joining process J2. Therefore, the joining processes J1 and J2 must be ended and $A and $B must be joined and $B and $D must be joined before the processing process C1 is performed. The joining process J3 requires $E and $H as inputs, as shown in FIG. 41. $E can be obtained as an output from C1, while $H can be obtained as an output from C2. Therefore, the processing processes C1 and C2 must be ended before the joining process J3. The joining process J4 requires $I and $J as inputs, as shown in FIG. 41. $I can be obtained as an output from C2, while $J can be obtained as an output from S5.)Therefore, the processing process C2 and the supply process S5 must be ended before the joining process J4.
In consideration of the relationship of dependency, a process expression tree indicating a procedure which can be performed must be produced.
As a conventional system for determining the manufacturing procedure for producing the process expression tree which, can be performed, an assortment and round robin method may be employed. The foregoing method forms all assortments which can be performed for the element processes exemplified in FIG. 41. Simulations of the formed assortments performed on a computer to select a process with which manufacture can be performed with contradiction.
As nodes for outputting the input to node V1 in a case shown in FIG. 41, eleven nodes S1, S2, S3, S4, S5, C1, C2, J1, J2, J3 and J4 can be considered. A case will be considered in which any one of S1, S2, S3, S4 and S5 is selected and an output from the selected node is connected as an input to the node V1. In an example case where S1 is selected, a structure composed of S1 and V1. formed as a result of the connection is 10 shown in FIG. 55. The foregoing structure does not have a oriented branch for furthermore receiving the output from another node. Therefore, the above-mentioned procedure cannot be executed. Therefore, a fact can be understood that S1, S2, S3, S4 and S5 are unsuitable as nodes for outputting the input to the node V1.
Therefore, C1 is selected as the node for outputting the input to the node V1i, a oriented branch output from C1 is connected as an input to the node V1. The foregoing structure is shown in FIG. 56. The foregoing structure is able to receive one oriented branch. Therefore, as the nodes to be connected to the above-mentioned structure, the following ten residual nodes can be considered: S1, S2, S3, S4, S5, C2, J1, J2, J3 and J4. Among the foregoing nodes, S1, S2, S3, S4 and S5 are unsuitable as the nodes to be connected to the table shown in FIG. 56 because of the same reason. Therefore, node J1 is selected and a oriented branch output from J1 is connected to the node C1. The foregoing structure is shown in FIG. 57. The above-mentioned structure is able to receive oriented branches output from two nodes selected from the residual nodes S1, S2, S3, S4, S5, C2, J1, J2, J3 and J4.
The above-mentioned procedure is repeated so that all of the joints which can be performed are used to produce candidates of the manufacturing procedure. An example of the thus-produced candidate of the manufacturing procedure is shown in FIG. 58. Simulations of the foregoing procedures are performed on the computer. When element process S1 has been ended, part $A is output. The output part $A is input to element process C2. However, the element process C2 is, as shown in FIG. 41, arranged to receive $F as an input to covert the same into $H and $I. Therefore, a fact can be understood as a result of the simulation that the above-mentioned candidate for the manufacturing procedure is unsuitable. As described above, simulations of the all of the manufacturing procedures are performed. As a result, a process with which manufacture can be performed without contradiction as shown in FIG. 7 can be selected.
Since the conventional system for determining the manufacturing procedure is structured as described above, all of joints of the element processes which can be performed are formed and simulations of the formed joints must be performed on a computer. The number of joints of the element processes shown in FIG. 41 can be calculated as follows: initially, the joints of node V1 and joining nodes J1, J2, J3 and J4 are considered. In this case, nodes patters are three types shown in FIGS. 59A to 59C.
In the case of FIG. 59A, the number of joints of J1, J2, J3 and J4 to Ji, Jj, Jk and Jl is 4.times.3.times.2.times.1=24. When supply nodes S1, S2, S3, S4 and S5 are assigned to five inputs to the joining nodes, the number of joints is 5.times.4.times.3.times.2.times.1.div.2.div.2=30. Since the right-hand and the left-hand are not distinguished for Jk and Jl, division with two is required to correspond to Jk and Jl. The number of joints in which C1 is assigned to each of the thus-formed structures by inserting the processing node to an arbitrary oriented branch is nine which corresponds to the number of oriented branches. The number of joints in which C2 is then assigned is ten which corresponds to the number of the oriented branches after C1 has been assigned. Therefore, the number of joints is 9.times.10=90. Therefore, the number of joints in the pattern in FIG. 59A is 24.times.30.times.90=64800.
In the case of FIG. 59B, the number of joints of J1, J2, J3 and J4 to Ji, Jj, Jk and Jl is 4.times.3.times.2.div.2=12. Since Jl and Jk are resulted in the same pattern even if change is performed, division with two is required. When supply nodes S1, S2, S3, S4 and S5 are assigned to five inputs to the joining nodes, the number of joints is 5.times.4.times.3.times.2.times.1.div.2.div.2=30. Since the right-hand and the left-hand are not distinguished for Jk and Jl, division with two is required to correspond to Jk and Jl. The number of joints in which C1 is assigned to each of the thus-formed structures by inserting the processing node to an arbitrary oriented branch is nine which corresponds to the number of oriented branches. The number of joints in which C2 is then assigned is ten which corresponds to the number of the oriented branches after C1 has been assigned. Therefore, the number of joints is 9.times.10=90. Therefore, the number of joints in the pattern in FIG. 59B is 12.times.30.times.90=32400.
In the case of FIG. 59C, the number of joints of J1, J2, J3 and J4 to Ji, Jj, Jk and Jl is 4.times.3.times.2.times.1=24 When supply nodes S1, S2, S3, S4 and SS are assigned to five inputs to the joining nodes, the number of joints is 5.times.4.times.3.times.2.times.1.div.2=24. Since the right-hand and the left-hand are not distinguished for Jl, division with two is required to correspond to Jk and Jl. The number of joints in which C1 is assigned to each of the thus-formed structures by inserting the processing node to an arbitrary oriented branch is nine which corresponds to the number of oriented branches. The number of joints in which C2 is then assigned is ten which corresponds to the number of the oriented branches after C1 has been assigned. Therefore, the number of joints is 9.times.10=90. Therefore, the number of joints in the pattern in FIG. 59C is 24.times.24.times.90=51840. As a result, the total number of the joints is 64800+32400+51840=149040. Since the convention system is structured as described above, the number of joints increases excessively. Thus, there arises a problem in that excessively long time is required to perform simulations of all of the patterns on the computer.